The Internet has experienced explosive growth and use in recent years. In particular, with the advent of smartphones, tablets, and personal digital assistants (PDAs), users have become accustomed to searching the Internet for a variety of information on a regular basis and from any location. Such information may include textual content, still images, audio content, and/or video content. Moreover, users demand that the most relevant search results be presented to them upfront, making it easier for them to find the desired information without having to review the entire set of search results.
A variety of search engines are available to assist users in finding information. For example, Google™, Bing™, Yahoo™, and many other web sites allow users to conduct web searches. Many of these search engines make their software application program interface (API) available to application and software developers, who may develop applications, which allow the users to perform customized searches. For example, search applications may allow users to search specific categories of items, for example, news, sports, products, jobs, events, entertainment, legal information, medical information, geographic or map information, recipes, people, friends, real estate, and much more.
Search engines typically rank the search results obtained in response to a query, displaying the most relevant search results at the top of an ordered list of results with less relevant items being relegated to the bottom of the list. For example, a search for restaurants near a user's present location, using a search engine, may yield a list of restaurants arranged based on the distance of each restaurant from the user's location. Alternatively, the search engine may display chain restaurants near the user's location at the top of the list and relegate individually owned restaurants to the bottom of the list.
An application developer of a restaurant finder application may, however, wish to present the search results to a user in a different order. For example, in addition to accounting for distance, the application developer may want to preferentially display restaurants which have been rated by other patrons nearer the top of the list of search results as compared to restaurants which have not received a rating. Alternatively, the application developer may want to display restaurants, which provide the price of each item on their menu on their websites, nearer the top of the list as opposed to those restaurants which do not. Although application developers may have access to the search engine API, conventionally they may not have the ability to change the ranking of the search results provided by the search engine.
In view of the above deficiencies, there is a need for improved systems and methods for generating a customized list of search results to present the most relevant information to a user. There is also a need for improved systems and methods for customizing the order in which content items may be displayed to users by increasing or decreasing the importance of certain characteristics of the content items included in the search results.